//
// DeviceNotifyDefs.h
//

/*-----------------------------------------------------*\
			HQ Tech, Make Technology Easy!       
 More information, please go to http://hqtech.nease.net.
/*-----------------------------------------------------*/

#ifndef __H_DeviceNotifyDefs__
#define __H_DeviceNotifyDefs__

#if (WINVER < 0x0500)
#define DBT_DEVTYP_DEVICEINTERFACE      0x00000005  // device interface class
#define DBT_DEVTYP_HANDLE               0x00000006  // file system handle
#define DEVICE_NOTIFY_WINDOW_HANDLE     0x00000000
typedef  PVOID           HDEVNOTIFY;
#endif

extern "C"
{
	typedef BOOL (WINAPI *PUnregisterDeviceNotification)(IN HDEVNOTIFY Handle);
	typedef HDEVNOTIFY (WINAPI *PRegisterDeviceNotification)(IN HANDLE hRecipient,
															IN LPVOID NotificationFilter,
															IN DWORD Flags);
}

#if (WINVER < 0x0500)
typedef struct _DEV_BROADCAST_DEVICEINTERFACE {
	DWORD		dbcc_size;
	DWORD		dbcc_devicetype;
	DWORD		dbcc_reserved;
	GUID		dbcc_classguid;
	char		dbcc_name[1];
} DEV_BROADCAST_DEVICEINTERFACE, *PDEV_BROADCAST_DEVICEINTERFACE;
#endif


#endif // __H_DeviceNotifyDefs__